/*
 *  Code Styler
 *  Copyright (C) 2008 Wei Yuan
 *
 *  This library is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation; either version 2.1 of the License, or (at
 *  your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 *  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
 *  License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with this library; if not, write to the Free Software Foundation,
 *  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

using System;
using System.Text;
using Cavingdeep.CodeStyler;
using NUnit.Framework;

namespace Cavingdeep.Tests.CodeStyler
{
    [TestFixture]
    public class Acceptance
    {
        [Test]
        public void BasicUsage()
        {
            Styler styler = new Styler();

            styler.RuleSet = RuleSets.CSharp;
            styler.StyleTemplate = DefaultStyles.CSharpHtmlLine;

            string styledCode = styler.StyleCode(
@"// This is comment.
    ///
    /// <summary>Something ""text"".</summary>
    ///
#region
#endregion
if (splitterCharIndex < 0 && line.Length > 0) // comment again
{
    string s =
@""Hello
World"";





    throw new BadRuleException(
        string.Format(""No splitter found at {0}."", lineCount));
}");

            Console.WriteLine(styledCode);
        }

        [Test]
        public void String_Within_Comment()
        {
            Styler styler = new Styler();

            styler.RuleSet = RuleSets.CSharp;
            styler.StyleTemplate = DefaultStyles.CSharpHtml;

            string styledCode = styler.StyleCode(
@"// ""hello""");

            Console.WriteLine(styledCode);
        }

        [Test]
        public void Comment_Within_String()
        {
            Styler styler = new Styler();

            styler.RuleSet = RuleSets.CSharp;
            styler.StyleTemplate = DefaultStyles.CSharpHtml;

            string styledCode = styler.StyleCode(
@"""hello//dsd""");

            Console.WriteLine(styledCode);
        }
    }
}
